//-----------------------------------------------------
// nguimanager.h
//-----------------------------------------------------

/**
* @file nguimanager.h
*/

#pragma once;

#include "logic/logicfacade.h"

class nGfxObject;

namespace nebulaGUI {

	class NGUIManager : public logic::ILogicFacade::CreationDestructionObserver {

	public:

		nGfxObject *_scene;
		//NGUIEntities *_entities;

	public:

		NGUIManager();
		~NGUIManager();

		/********************************************************************/
		/*		logic::ILogicFacade::CreationDestructionObserver method		*/
		/********************************************************************/

		//virtual void staticEntityCreated(const ILogicFacade *facade, CStaticEntity *staticEntity);
		virtual void staticEntityCreated(const logic::ILogicFacade *facade);


		/*************************/
		/*		SCENE METHODS    */
		/*************************/

		// Build the scene from a .n2 file
		virtual bool initScene(const char *n2File);

		// Remove the scene if it has been already created
		virtual void endScene();

		// Draw the scene node
		void renderScene();

		// Draw the list of entities
		void renderEntities();

		// Remove the whole list of entities
		void cleanEntities();

	};


} // namespace nebulaGUI